<?php

namespace app\index\controller;

use Parsedown;

class Article extends Base
{
    // 文章详情
    public function detail()
    {
        $article_info = model('Article')
            ->with('comments,comments.member')
            ->find(input('id'));
        if (!$article_info){
            abort('404', '文章未找到');
        }
        // 阅读量+1
        $article_info->setInc('views');

        // 实例化Parsedown
        $markdownParser = new Parsedown();
        // 开启安全转换
        $markdownParser->setSafeMode(true);
        $markdownParser->setBreaksEnabled(true);

        // markdown格式的文章内容转换为html格式
        $article_info->content = $markdownParser->text($article_info->content);

        $this->assign('articleInfo', $article_info);
        return view();
    }

    // 文章评论
    public function comment()
    {
        $data = [
            'article_id' => input('post.article_id'),
            'member_id' => input('post.member_id'),
            'content' => input('post.content')
        ];
        $result = model('Comment')->comment($data);
        if ($result == 1){
            $article_info = model('Article')->find($data['article_id']);
            // 评论数+1
            $article_info->setInc('comment_num');
            $this->success('评论成功');
        }else{
            $this->error($result);
        }
    }
}
